Simulation #1

Data structure: \(O = (W, A, Z, Y)\)

  • U - exogenous variables
  • W - baseline covariate that is a measure of body condition
  • A - treatment level based on W, continuous between 0 and 5
  • Z - intermediate curve based on W and A
  • Y - outcome, indicator of an event ?

Underlying data generating process, \(P_{U,X}\)

  • Exogenous variables:
    • \(U_A \sim Normal(\mu=0, \sigma^2 = 1^2)\)
    • \(U_A \sim Normal(\mu=0, \sigma^2 = 2^2)\)
    • \(U_Z \sim Uniform(min = 0, max = 1)\)
    • \(U_Y \sim Uniform(min = 0, max = 1)\)
  • Structural equations F and endogenous variables:
    • \(W = U_W\)
    • \(A = bound(2 - 0.5W + U_A, min=0, max=5)\)
    • \(Z = \mathbf{I}[U_Z < expit(2-W-A)]\)
    • \(Y = \mathbf{I}[U_Y < expit(W + 5*A + Z - 0.5 * W * A - 8)]\)
##        W                   A                Z               Y         
##  Min.   :-3.477926   Min.   :0.0000   Min.   :0.000   Min.   :0.0000  
##  1st Qu.:-0.677888   1st Qu.:0.6247   1st Qu.:0.000   1st Qu.:0.0000  
##  Median : 0.000642   Median :1.9837   Median :0.000   Median :1.0000  
##  Mean   : 0.003370   Mean   :2.1110   Mean   :0.481   Mean   :0.5969  
##  3rd Qu.: 0.681931   3rd Qu.:3.3781   3rd Qu.:1.000   3rd Qu.:1.0000  
##  Max.   : 3.935166   Max.   :5.0000   Max.   :1.000   Max.   :1.0000
## Summary of A given W < -1:
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   1.423   2.849   2.753   4.218   5.000
## Summary of A given -1 < W <= 0:
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.9051  2.2298  2.2719  3.5272  5.0000
## Summary of A given 0 < W <= 1:
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.4292  1.7748  1.9164  3.1005  5.0000
## Summary of A given 1 < W:
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.000   1.253   1.548   2.649   5.000

## 
## Call:
## glm(formula = Y ~ W + A + W * A + Z, family = binomial, data = obs)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.4744  -0.0688   0.0008   0.0623   3.7343  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  -7.5915     0.2389 -31.775  < 2e-16 ***
## W             0.7056     0.1857   3.800 0.000145 ***
## A             4.7817     0.1352  35.379  < 2e-16 ***
## Z             0.8623     0.1138   7.579 3.48e-14 ***
## W:A          -0.3168     0.1210  -2.618 0.008848 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 13485.0  on 9999  degrees of freedom
## Residual deviance:  2719.5  on 9995  degrees of freedom
## AIC: 2729.5
## 
## Number of Fisher Scoring iterations: 8
## [1] "    MSE: 413.5185, AUC: 0.9883"

n = 50

CV HAL

results

## CV selected lambda (from one sample): 0.0195155535952038

1000 repetition

## The average of CV selected lambdas (from 1000 sample): 0.0212969847655493 The average of CV selected lambdas (from 1000 sample): 0.02133982349379 The average of CV selected lambdas (from 1000 sample): 0.0212988488186698 The average of CV selected lambdas (from 1000 sample): 0.0213307345866777 The average of CV selected lambdas (from 1000 sample): 0.0213307345866777
## z=1:

## z=0:

Globally Undersmoothed HAL

results

## Undersmoothed lambda: 0.00943173090927282
##  which is 1 * lambda_CV

1000 repetition

## [1] "  Since the learned undersmoothed lambda is NA, refitting lambdas."
## [1] "  Since the learned undersmoothed lambda is NA, refitting lambdas."
## The average of unsersmoothed lambda (from 1000 sample): 0.00551793440094463
##  which is 1 * the average of 1000 lambda_CV The average of unsersmoothed lambda (from 1000 sample): 0.00549712432627094
##  which is 1 * the average of 1000 lambda_CV The average of unsersmoothed lambda (from 1000 sample): 0.0055095193104553
##  which is 1 * the average of 1000 lambda_CV The average of unsersmoothed lambda (from 1000 sample): 0.00550188721851507
##  which is 1 * the average of 1000 lambda_CV The average of unsersmoothed lambda (from 1000 sample): 0.00550188721851507
##  which is 1 * the average of 1000 lambda_CV
## z=1:

## z=0:

Oevr a grid of lambda scalers

## TableGrob (7 x 4) "arrange": 7 grobs
##   z     cells    name                 grob
## 1 1 (2-3,2-3) arrange       gtable[layout]
## 2 2 (4-5,1-2) arrange       gtable[layout]
## 3 3 (4-5,3-4) arrange       gtable[layout]
## 4 4 (6-7,1-2) arrange       gtable[layout]
## 5 5 (6-7,3-4) arrange       gtable[layout]
## 6 6 (3-3,4-4) arrange    gtable[guide-box]
## 7 7 (1-1,1-4) arrange text[GRID.text.2880]

## TableGrob (7 x 4) "arrange": 7 grobs
##   z     cells    name                 grob
## 1 1 (2-3,2-3) arrange       gtable[layout]
## 2 2 (4-5,1-2) arrange       gtable[layout]
## 3 3 (4-5,3-4) arrange       gtable[layout]
## 4 4 (6-7,1-2) arrange       gtable[layout]
## 5 5 (6-7,3-4) arrange       gtable[layout]
## 6 6 (3-3,4-4) arrange    gtable[guide-box]
## 7 7 (1-1,1-4) arrange text[GRID.text.3156]

## TableGrob (7 x 4) "arrange": 7 grobs
##   z     cells    name                 grob
## 1 1 (2-3,2-3) arrange       gtable[layout]
## 2 2 (4-5,1-2) arrange       gtable[layout]
## 3 3 (4-5,3-4) arrange       gtable[layout]
## 4 4 (6-7,1-2) arrange       gtable[layout]
## 5 5 (6-7,3-4) arrange       gtable[layout]
## 6 6 (3-3,4-4) arrange    gtable[guide-box]
## 7 7 (1-1,1-4) arrange text[GRID.text.3432]